The present invention relates to an omnidirectional camera, which is provided with a plurality of cameras and is used to take omnidirectional images.
As map information or the like to be used for navigator, image data along a route are acquired, and further, measurement is performed based on the images acquired. An omnidirectional camera is used for acquiring such images. The omnidirectional camera is installed on a ceiling of a mobile object such as an automobile or the like, and while the mobile object is moving, the omnidirectional camera takes image of buildings, structures, and sceneries or the like along the route.
For such purpose, a speed to sequentially take in the images acquired by the omnidirectional camera must correspond to a moving speed of the mobile object, and the speed of the mobile object is limited to the speed to take in the images.
A signal itself outputted from image pickup element of the omnidirectional camera is not image data and the signal has an enormous amount of data. Therefore, for the purpose of storing the data as image data, the data must be converted to the image data and the data must also be compressed.
Referring to FIG. 4, description will be given below on a conventional type image data processing device which compresses the data outputted from the camera (image pickup element) as image data. To simplify the explanation, processing of the data, which are outputted from a single camera, is shown.
In FIG. 4, reference numeral 1 represents an image data processing device, numeral 2 represents a photodetection signal outputted from a camera, numeral 3 represents an external memory, and numeral 4 represents a CPU. Describing more concretely, the photodetection signal 2 is a photodetection signal outputted from pixel of image pickup element of the camera. As the external memory 3, DRAM (Dynamic Random Access Memory) such as DDR2 (Double Data Rate 2) or the like is used, for instance.
The image data processing device 1 primarily comprises a signal processing unit 5, a first internal memory 6, an input/output control unit 7, a memory controller 8, a second internal memory 9, a data conversion unit 10, a third internal memory 11, a fourth internal memory 12, an image data input/output unit 13, and an internal register 14.
The photodetection signal 2 is inputted to the signal processing unit 5. The signal processing unit 5 converts the photodetection signal 2 thus inputted from a serial signal to a parallel signal. After performing signal processing as required such as conversion of number of bits or the like, the signal are outputted to the first internal memory 6.
The first internal memory 6 temporarily stores the signals until the inputted signals reach a predetermined amount. In this case, the predetermined amount is “2048 pixels×16”, for instance. When the stored data amount reaches “2048 pixels×16”, the data are written in the external memory 3 via the input/output control unit 7 and the memory controller 8. In this case, the memory controller 8 controls timing of the writing of the data into the external memory 3 and a region of the external memory 3 where the data are written.
The external memory 3 has a photodetection signal storage region where the photodetection signal 2 is stored and an image data storage region where the image data are stored. The signals outputted from the first internal memory 6 are stored in the photodetection signal storage region via the input/output control unit 7 and the memory controller 8 (arrow mark “a” in FIG. 4).
The photodetection signals 2 are continuously inputted to the first internal memory 6. The signals stored in the first internal memory 6 are written in the external memory 3 via the memory controller 8 each time the data reaches the predetermined amount, and the data are stored in the external memory 3. When the amount of the stored data reaches an amount corresponding to one image frame, the input/output control unit 7 cuts out the data of a predetermined amount out of amount for one frame (e.g. “2048 pixels×16”) (arrow mark “b” in FIG. 4) via the memory controller 8, and the data are outputted to the second internal memory 9.
A JPEG encoder is used as the data conversion unit 10, for instance, and the JPEG encoder compresses and converts the signals accumulated in the second internal memory 9 to image data of JPEG. The image data thus converted are temporarily stored in the third internal memory 11, and the data are written from the input/output control unit 7 into the external memory 3 at required timing which is controlled by the memory controller 8.
The data, each in the predetermined amount, are compressed and converted to image data at the data conversion unit 10, and the data are sequentially written in the external memory 3. When the image data thus converted reach the amount for one frame, the data are stored in the image data storage region as the image data for one frame (arrow mark “c” in FIG. 4).
Next, in a case where the CPU 4 carries out the measurement or the like according to the image data, a reading command is issued to the input/output control unit 7 via the image data input/output unit 13, and the image data are read via the memory controller 8 (arrow mark “d” in FIG. 4). Then, the image data are outputted to the CPU 4 via the fourth internal memory 12 and the image data input/output unit 13.
In the image data processing device 1, it is so arranged that data of large capacity for one frame are inputted and outputted by as many as four times between the image data processing device 1 and the external memory 3. Also, conversion and compression of the image data are carried out for each frame. As a result, an image processing is naturally performed with a delay of one frame.
For this reason, in the image data processing as performed in the past, giving and taking of the data to and from the external memory 3 used to be a bottleneck in the processing. Further, because there has been time lag of one frame in the conversion or the compression of the image data or the like, the speed to take in the images acquired by the camera has been limited. Also, in a case where there are two or more cameras as in the case of the omnidirectional camera and the two or more cameras acquire the images at the same time, the limitation on the speed to take in the image has been an important problem.